package com.ld.security.server.blog.modules.cms.vo;

import com.ld.security.common.core.base.SuperPo;
import com.ld.security.common.core.base.SuperVo;
import com.ld.security.common.core.base.column.ListString;
import com.ld.security.common.core.base.column.MapJson;
import com.ld.security.common.core.util.ListUtil;
import com.ld.security.common.mybatis.anno.JoinKey;
import com.ld.security.common.mybatis.anno.QueryKey;
import com.ld.security.common.mybatis.anno.SqlKey;
import com.ld.security.common.mybatis.constant.SqlCondition;
import com.ld.security.server.blog.modules.cms.constant.CmsCollectUserRelConstant;
import com.ld.security.server.blog.modules.cms.entity.CmsCollectUserRelEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@JoinKey(tableX = "cms_collect x",tableY = "cms_collect_user_rel y",
on="x.id = y.collect_id"
)
@Data
public class AuthCollectionVo implements SuperVo,SuperPo {



    @SqlKey(name = "x.picture")
    @ApiModelProperty("封面")
    private String picture;



    @SqlKey(name = "x.id")
    private String id;

    @SqlKey(name = "x.cms_tags")
    @ApiModelProperty("标签")
    private ListString cmsTags;

    @SqlKey(name = "x.content")
    @ApiModelProperty("内容")
    private String content;

    @SqlKey(name = "x.label")
    private String label;

    @SqlKey(name = "x.label_map")
    private MapJson labelMap;


    @SqlKey(name = "x.cms_type")
    private String cmsType;

    @SqlKey(name = "y.relType")
    private CmsCollectUserRelConstant.relType relType;

    @SqlKey(name = "y.user_id")
    private String userId;

    @SqlKey(name = "x.crt_time")
    private Date crtTime;

}
